package com.example.springboot2023nocv.redis;

import net.sf.jsqlparser.statement.select.First;
import redis.clients.jedis.Jedis;

import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class TestConnRedis {
    public static void main(String[] args) {
        //连接本地的 Redis 服务
        Jedis jedis = new Jedis("localhost");
        //1.String类型【确诊：xxx，死亡：xxx】
        jedis.set("nocv", "zjh");
        System.out.println(jedis.get("nocv"));
        //2.List集合【新闻列表】
        //存储数据到列表中
        jedis.lpush("site-list", "Runoob");
        jedis.lpush("site-list", "Google");
        jedis.lpush("site-list", "Taobao");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("site-list", 0, 2);
        for (int i = 0; i < list.size(); i++) {
            System.out.println("列表项为: " + list.get(i));

        }

        //3.set无序集合 去重
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","111");
        jedis.sadd("nocvset","222");
        Set<String> nocvset = jedis.smembers("nocvset");
        for (String s : nocvset){
            System.out.println(s);
        }

        //4.Sorted Set 有序集合 【排名，排序，获取排序码】
        jedis.zadd("nocvset2",88,"1111");
        jedis.zadd("nocvset2",73,"2222");
        jedis.zadd("nocvset2",33,"3333");
        jedis.zadd("nocvset2",44.3,"4444");
        jedis.zadd("nocvset2",156,"5555");
        Set<String> nocvset2 = jedis.zrange("nocvset2", 0, -1);
        for (String s : nocvset2){
            System.out.println(s);
        }

        Long nocvset21 = jedis.zrank("nocvset2", "3333");
        System.out.println(nocvset21);
        System.out.println("======================");
        //返回分数区间内的个数
        Long nocvset22 = jedis.zremrangeByScore("nocvset2", 88, 200);
        System.out.println(nocvset22);

        //返回有序集合中 成员的分数值
        Double nocvset23 = jedis.zscore("nocvset2", "4444");
        System.out.println(nocvset23);//44.3
    }
}
